Skip to content

Pin GitHub Actions to commit SHAs for supply chain security#700

Merged
laughingman7743 merged 2 commits intomasterfrom
chore/pin-github-actions
Mar 29, 2026
Merged

Pin GitHub Actions to commit SHAs for supply chain security#700
laughingman7743 merged 2 commits intomasterfrom
chore/pin-github-actions

Conversation

@laughingman7743
Copy link
Copy Markdown
Member

WHAT

  • Pin all 10 GitHub Actions across 4 workflow files to full commit SHAs using pinact
  • Add a new pinact.yaml CI workflow that automatically pins actions on PRs modifying workflow files
  • Uses GitHub App (pyathena-bot) for authentication to enable auto-commit of pinned hashes

WHY

Mutable version tags (e.g., @v4) are vulnerable to supply chain attacks — a compromised tag can silently replace the action code. Pinning to commit SHAs ensures immutable, auditable action references. Version comments (e.g., # v4.3.1) are preserved for readability.

laughingman7743 and others added 2 commits March 29, 2026 23:47
Pin all GitHub Actions in workflow files to full commit hashes
using pinact, mitigating supply chain attacks via mutable tags.

Also add a pinact CI workflow that automatically pins actions
on PRs that modify workflow files, using a GitHub App for
authentication.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove root action.yml/action.yaml filters (not a composite action
repo) and add .github/actions/** for local composite actions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@laughingman7743 laughingman7743 marked this pull request as ready for review March 29, 2026 15:01
@laughingman7743 laughingman7743 merged commit 8978237 into master Mar 29, 2026
16 checks passed
@laughingman7743 laughingman7743 deleted the chore/pin-github-actions branch March 29, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant